home *** CD-ROM | disk | FTP | other *** search
/ Aminet 4 / Aminet 4 - November 1994.iso / aminet / comm / cnet / cn305c_1.lha / InstallCNet < prev    next >
Text File  |  1994-02-13  |  25KB  |  1,137 lines

  1. ; $VER: CNet Install 1.05 (2.13.94)
  2. (set CNetVersion "3.05c")
  3.  
  4. ; CNet PRO 3 Installation script
  5. ;
  6. ; The publishers of CNet PRO 3 wish to extend many THANKS to Bob Maple
  7. ; for the creation of this install script, (version 1.0 (12.13.93))
  8. ; His elegant work has been chopped and hacked by others since then,
  9. ; so if you find something here that looks sloppy, DON'T BLAME BOB!
  10. ;
  11. ; Requires Commodore 'Installer' program
  12. ;
  13. ; Slight tweaks by Jim Selleck for CNet/3 release version 3.04, 3.05c
  14.  
  15. ; This installation script is provided AS-IS, with no warranties expressed
  16. ; or implied.  The authors will not be held responsible for any damages due
  17. ; to the use or mis-use of this installation script; using this script is
  18. ; entirely at your own risk.
  19.  
  20. ;
  21. ; Define some global variables
  22. ;
  23.  
  24. (set Disk1 "CNet3_Disk_1:")    ; Installation referenced by Disk1 and Disk2
  25. (set Disk2 "CNet3_Disk_2:")    ; since actual disk names change
  26.  
  27. ; (set CNet_Dir "CNet:")
  28.  
  29. (set help-modify-self
  30.  
  31.     (cat        "If you have modified any of these files, "
  32.             "you might want to skip this part and manually "
  33.             "look for any changes/modify them yourself."
  34.     )
  35. )
  36.  
  37. (set ask-install-part    "Please select the partition/directory where you want the " )
  38. (set ask-install-part2  " directory created."                        )
  39. (set ask-install-nodir  "(NOTE: A new directory will NOT be created.)\n"            )
  40.  
  41.  
  42. ;
  43. ; BEGIN PROCEDURE DEFINITION
  44. ;
  45. ; The installer script basically consists of a series of calls to different
  46. ; procedures which install certain sets of data, depending on whether or not
  47. ; they are a new-installer or an update-installer.
  48. ;
  49.  
  50. (procedure    CleanItUp
  51. (
  52.     (run "delete ram:CStuff all")
  53. )
  54. )
  55.  
  56.  
  57.  
  58. (procedure    Decompress
  59. (
  60.     (working)
  61.     
  62.     (makedir "ram:CStuff")
  63.     
  64.     (set LHAString ("%slha x -a -I %s %s ram:CStuff/" Disk1 DecompFile DecompPat))
  65.     (run LHAString)
  66. )
  67. )
  68.  
  69.     
  70.         
  71. (procedure    CopyExecutables1    ; Copies executables/etc from disk 1
  72. (
  73.  
  74.     (set DecompFile ("%scnet/bbsexec.lha" Disk1))
  75.     (set DecompPat  "#?")
  76.     (Decompress)
  77.  
  78.     (copyfiles
  79.  
  80.         (source "RAM:CStuff")
  81.         (dest   "CNET:")
  82.  
  83.         (choices
  84.  
  85.             "bbs"        "control"    "yank-task"
  86.             "config"    "setpass"    "unlock"
  87.             "close"        "toss"        "bbswake"
  88.         )
  89.  
  90.         (optional "nofail" "askuser")
  91.     )
  92.  
  93.     ; Makes sure the PURE bit is set, saving millions of people asking
  94.     ; why this new version eats so much RAM. :)
  95.  
  96.     (protect "CNet:BBS" "+r +w +e +d +p")
  97.     (CleanItUp)
  98.  
  99.     (set DecompFile ("%scnet/pfiles/bbs/pfiles_bbs.lha" Disk1))
  100.     (set DecompPat  "#?")
  101.     (Decompress)
  102.  
  103.     (copyfiles
  104.  
  105.         (source "RAM:CStuff")
  106.         (dest    "PFiles:BBS")
  107.  
  108.         (all)
  109.         (optional "nofail" "askuser")
  110.     )
  111.         (CleanItUp)
  112.  
  113. )
  114. )
  115.  
  116. (procedure    CopyExecutables2    ; Copies executables from disk 2
  117. (
  118.  
  119.     (set SourcePath (tackon Disk2 "Workbench/c"))
  120.     (copyfiles
  121.  
  122.         (source SourcePath)
  123.         (dest    "C:"  )
  124.  
  125.         (all)
  126.         (optional "nofail" "askuser")
  127.     )
  128.  
  129.     (set SourcePath (tackon Disk2 "Workbench/Fonts"))
  130.     (copyfiles
  131.  
  132.         (source SourcePath)
  133.         (dest    "FONTS:"  )
  134.  
  135.         (all)
  136.         (optional "nofail" "askuser")
  137.     )
  138.  
  139.     (set SourcePath (tackon Disk2 "Workbench/L"))
  140.     (copyfiles
  141.  
  142.         (source (tackon SourcePath "fifo-handler"))
  143.         (dest    "L:" )
  144.  
  145.         (optional "nofail" "askuser")
  146.     )
  147.  
  148.     (message "\nThe cnet.library is a shared library which CNet "
  149.         "and other utilities require on your system."
  150.  
  151.     (help    "The CNet library is installed in LIBS: and is required "
  152.         "by CNet, and used by other external utilities, including "
  153.         "the possibility of some 3rd-party programs."
  154.     )
  155.     )
  156.  
  157.     (set SourcePath (tackon Disk2 "Workbench/Libs"))
  158.     (copyfiles
  159.  
  160.         (source (tackon SourcePath "cnet.library"))
  161.         (dest    "Libs:"  )
  162.  
  163.         (files)
  164.         (optional "nofail" "askuser")
  165.     )
  166.  
  167.     (message "\nThe fifo.library is a shared library which CNet "
  168.         "and other DOS utilities might require on your system."
  169.  
  170.     (help    "The FIFO library is required if you plan on running "
  171.         "any regular AmigaDOS programs as PFiles through the BBS."
  172.     )
  173.     )
  174.  
  175.     (copyfiles
  176.  
  177.         (source (tackon SourcePath "fifo.library"))
  178.         (dest    "Libs:"  )
  179.  
  180.         (files)
  181.         (optional "nofail" "askuser")
  182.     )
  183.  
  184.     (copyfiles
  185.     
  186.         (source SourcePath)
  187.         (dest    "LIBS:")
  188.         
  189.         (pattern "xpr#?")
  190.     )
  191. )
  192. )
  193.  
  194. (procedure    CopyStandards
  195. (
  196.     (copyfiles
  197.  
  198.         (source (tackon Disk1 "CNet"))
  199.         (dest   "CNET:")
  200.  
  201.         (choices
  202.         
  203.             "bbsconfig3"        "bbsevents"    "bbsmenu"
  204.             "BIG_Numbers"        "bbstext"
  205.             "bbsroom0"        "bbslicense"
  206.         )
  207.  
  208.         (optional "nofail" "askuser")
  209.     )
  210. )
  211. )
  212.  
  213. (procedure    CopySpeller
  214. (
  215.     (set    DestPath
  216.  
  217.         (askdir
  218.  
  219.             (prompt    "\nPlease select where you want to install the speller "
  220.                 "master dictionary "
  221.                 ask-install-nodir
  222.             )
  223.             (help    "The dictionary can be anywhere you choose (suggestion: "
  224.                 "CNet:Spell).  Note that you must set up this path "
  225.                 "with CONFIG as well.  Consult your CNet manual."
  226.             )
  227.  
  228.             (default "CNet:Spell")
  229.         )
  230.     )
  231.  
  232.     (copyfiles
  233.  
  234.         (source (tackon Disk2 "Spell"))
  235.         (dest    DestPath)
  236.  
  237.         (pattern "#?")
  238.         (files)
  239.         (optional "nofail" "askuser")
  240.     )
  241.  
  242. )
  243. )
  244.  
  245. (procedure    CopyMaints
  246. (
  247.  
  248.     (set    DestPath
  249.  
  250.         (askdir
  251.  
  252.             (prompt    "\nPlease select where you want your maintenance "
  253.                 "executables to be installed "
  254.                 ask-install-nodir
  255.             )
  256.             (help    "The maintenance executables consist of programs "
  257.                 "like 'count', 'missing', 'pointers' (see your "
  258.                 "manual for more information).\n\n"
  259.                 "Some people install them in different places, "
  260.                 "according to how they have their PFiles setup. "
  261.                 "A common installation place is a directory "
  262.                 "called 'maintenance' inside PFiles:."
  263.             )
  264.  
  265.             (default "PFiles:Maintenance")
  266.         )
  267.     )
  268.  
  269.     (copyfiles
  270.  
  271.         (source (tackon Disk1 "CNet/PFiles/Maintenance"))
  272.         (dest    DestPath)
  273.  
  274.         (pattern "#?")
  275.         (files)
  276.         (optional "nofail" "askuser")
  277.     )
  278. )
  279. )
  280.  
  281. (procedure    CopyFIDOs
  282. (
  283.  
  284.     (set    DestPath
  285.  
  286.         (askdir
  287.  
  288.             (prompt    "\nPlease select where you want your FIDO maintenance "
  289.                 "executables to be installed "
  290.                 ask-install-nodir
  291.             )
  292.             (help    "It's a good idea to throw all your FIDO executables "
  293.                 "in a separate directory, just to keep things together.\n\n"
  294.             )
  295.  
  296.             (default "PFiles:FIDO")
  297.         )
  298.     )
  299.  
  300.     (copyfiles
  301.  
  302.         (source (tackon Disk2 "FIDO"))
  303.         (dest    DestPath)
  304.  
  305.         (pattern "#?")
  306.         (files)
  307.         (optional "nofail" "askuser")
  308.     )
  309.  
  310.     
  311.     (makedir "Mail:Inbound")
  312.     (makedir "Mail:Outbound")
  313.     (makedir "Mail:Dupetables")
  314.     (makedir "Mail:Nodelist")
  315. )
  316. )
  317.  
  318. (procedure    CopyUUCPs
  319. (
  320.  
  321.     (set    DestPath
  322.  
  323.         (askdir
  324.  
  325.             (prompt    "\nPlease select where you want your UUCP maintenance "
  326.                 "executables to be installed "
  327.                 ask-install-nodir
  328.             )
  329.             (help    "It's a good idea to throw all your UUCP executables "
  330.                 "in a separate directory, just to keep things together.\n\n"
  331.             )
  332.  
  333.             (default "PFiles:UUCP")
  334.         )
  335.     )
  336.  
  337.     (copyfiles
  338.  
  339.         (source (tackon Disk2 "UUCP"))
  340.         (dest    DestPath)
  341.  
  342.         (pattern "#?")
  343.         (files)
  344.         (optional "nofail" "askuser")
  345.     )
  346. )
  347. )
  348.  
  349. (procedure    CopyMenus
  350. (
  351.     (set DecompFile ("%scnet/systext/systext.lha" Disk1))
  352.     (set DecompPat  "menu/#?")
  353.     (Decompress)
  354.  
  355.     (copyfiles
  356.  
  357.         (source "ram:cstuff/menu")
  358.         (dest    "SysText:Menu")
  359.  
  360.         (all)
  361.         (optional "nofail" "askuser")
  362.     )
  363.  
  364.     (CleanItUp)
  365. )
  366. )
  367.  
  368. (procedure    CopyLicense
  369. (
  370.     (if (= (exists "CNet:bbslicense") 0)
  371.  
  372.         (copyfiles
  373.  
  374.             (source (tackon Disk1 "cnet/bbslicense"))
  375.             (dest   "CNet:")
  376.  
  377.             (files)
  378.             (optional "nofail" "askuser")
  379.         )
  380.     )
  381. )
  382. )
  383.  
  384. (procedure    CopyVDEs
  385. (
  386.     (set DecompFile ("%scnet/systext/systext.lha" Disk1))
  387.     (set DecompPat  "vde/#?")
  388.     (Decompress)
  389.  
  390.     (copyfiles
  391.  
  392.         (source "ram:cstuff/vde")
  393.         (dest    "SysText:VDE")
  394.  
  395.         (all)
  396.         (optional "nofail" "askuser")
  397.     )
  398.  
  399.     (CleanItUp)
  400. )
  401. )
  402.  
  403. (procedure    CopyHelp
  404. (
  405.     (set DecompFile ("%scnet/systext/systext.lha" Disk1))
  406.     (set DecompPat  "help/#?")
  407.     (Decompress)
  408.  
  409.     (copyfiles
  410.  
  411.         (source "ram:cstuff/help")
  412.         (dest    "SysText:Help")
  413.  
  414.         (all)
  415.         (optional "nofail" "askuser")
  416.     )
  417.     
  418.     (CleanItUp)
  419. )
  420. )
  421.  
  422. (procedure    CopyTextMenu
  423. (
  424.     (copyfiles
  425.  
  426.         (source (tackon Disk1 "cnet/bbstext"))
  427.         (dest    "CNet:")
  428.         (newname (cat "bbstext_" CNetVersion))
  429.  
  430.         (files)
  431.         (optional "nofail" "askuser")
  432.     )
  433.  
  434.     (copyfiles
  435.  
  436.         (source (tackon Disk1 "cnet/bbsmenu"))
  437.         (dest    "CNet:")
  438.         (newname (cat "bbsmenu_" CNetVersion))
  439.  
  440.         (files)
  441.         (optional "nofail" "askuser")
  442.     )
  443. )
  444. )
  445.  
  446. (procedure    CopyNew
  447. (
  448.     (set DecompFile ("%scnet/systext/systext.lha" Disk1))
  449.     (set DecompPat  "new/#?")
  450.     (Decompress)
  451.  
  452.     (copyfiles
  453.  
  454.         (source "ram:cstuff/new")
  455.         (dest    "SysText:New")
  456.  
  457.         (all)
  458.         (optional "nofail" "askuser")
  459.     )
  460.     
  461.     (CleanItUp)
  462. )
  463. )
  464.  
  465.  
  466.  
  467. ;
  468. ; BEGIN MASTER INSTALL PROCEDURES
  469. ; The following two procedures handle new installations and update
  470. ; installations, calling the proper procedures defined above as well as
  471. ; doing other specialized tasks.
  472. ;
  473.  
  474. (procedure    DoUpdateInstall
  475. (
  476.     (askdisk
  477.  
  478.         (dest (substr Disk1 0 (- (strlen Disk1) 1)))
  479.  
  480.         (prompt "\nPlease insert Disk 1 of CNet Amiga."
  481.         )
  482.         (help    "Insert the CNet Amiga disk labeled as disk 1.  "
  483.             "You can put it in any drive--and, if you have two "
  484.             "floppy drives, you can also put disk 2 in your other "
  485.             "free drive to save yourself time later."
  486.         )
  487.     )
  488.  
  489.     (CopyExecutables1)
  490.     (CopyTextMenu)
  491.     (CopyLicense)
  492.     (CopyVDEs)
  493.     (CopyMaints)
  494.  
  495.     (if
  496.         (askbool
  497.         
  498.             (prompt "\nDo you want to re-install the menu files?")
  499.             (help    "Copies all the menu files into SYSTEXT:Menu. "
  500.                 help-modify-self
  501.             )
  502.         )
  503.  
  504.         ; TRUE (Yes) statement
  505.         (
  506.             (CopyMenus)
  507.         )
  508.     )
  509.  
  510.     (if
  511.         (askbool
  512.         
  513.             (prompt "\nDo you want to re-install the help files?")
  514.             (help    "Copies all the help files into SYSTEXT:Help. "
  515.                 help-modify-self
  516.             )
  517.         )
  518.  
  519.         ; TRUE (Yes) statement
  520.         (
  521.             (CopyHelp)
  522.         )
  523.     )
  524.  
  525.     (if
  526.         (askbool
  527.         
  528.             (prompt "\nDo you want to re-install the new-user files?")
  529.             (help    "Copies all the new-user help files into SYSTEXT:New.\n\n"
  530.                 "The new-user files are all the pieces of text "
  531.                 "which describe questions new users are asked when "
  532.                 "logging in, as well as the public and sysop questions.\n\n"
  533.                 help-modify-self
  534.             )
  535.         )
  536.  
  537.         ; TRUE (Yes) statement
  538.         (
  539.             (CopyNew)
  540.         )
  541.     )
  542.  
  543.     (askdisk
  544.  
  545.         (dest (substr Disk1 0 (- (strlen Disk1) 1)))
  546.  
  547.         (prompt "\nPlease insert Disk 2 of CNet Amiga."
  548.         )
  549.         (help    "Insert the CNet Amiga disk labeled as disk 2."
  550.         )
  551.     )
  552.  
  553.     (CopyExecutables2)
  554.  
  555.     (if
  556.         (askbool
  557.         
  558.             (prompt "\nDo you want to re-install the CNet speller dictionary?" )
  559.             (help    "This master-dictionary rarely changes, and chances "
  560.                 "are you have added words to it yourself already. "
  561.                 "It is recommended that you skip this part of the "
  562.                 "update installation if you have made any changes "
  563.                 "to your dictionary."
  564.             )
  565.         )
  566.  
  567.         ; TRUE (Yes) statement
  568.         (
  569.             (CopySpeller)
  570.         )
  571.     )
  572.  
  573.     (if
  574.         (askbool
  575.  
  576.             (prompt "\nDo you want to re-install the FIDO executables?")
  577.             (help    "This part is presented as an option because not "
  578.                 "everyone runs the FIDO network.\n\n"
  579.                 "See your CNet manual for information on the CNet "
  580.                 "FIDO tosser, and the FIDO import/exporters."
  581.             )
  582.         )
  583.  
  584.         ; TRUE Yes statement
  585.         (
  586.             (CopyFIDOs)
  587.         )
  588.     )
  589.  
  590.     (if
  591.         (askbool
  592.  
  593.             (prompt "\nDo you want to re-install the UUCP executables?")
  594.             (help    "This part is presented as an option because not "
  595.                 "everyone runs the UUCP/Usenet network.\n\n"
  596.                 "See your CNet manual for information on the CNet "
  597.                 "UUCP importers."
  598.             )
  599.         )
  600.  
  601.         ; TRUE Yes statement
  602.         (
  603.             (CopyUUCPs)
  604.         )
  605.     )
  606.  
  607.     (message
  608.  
  609.         "\nUpdate installed.  Please note that CNet:BBSTEXT and "
  610.         "CNet:BBSMENU were NOT installed.  Since most CNet SysOps "
  611.         "have heavily modified these files, there are several utilities "
  612.         "available which can detect changes and help you transfer those "
  613.         "changes into your CURRENT files, saving you from having to "
  614.         "start over completely from scratch.\n\nCheck the updating "
  615.         "section of your CNet manual, as well as the updating directory "
  616.         "on Disk 2.  There may be conversion files you need to run or "
  617.         "other file renaming procedures needed before you can safely "
  618.         "run your CNet update."
  619.     )
  620. )
  621. )
  622.  
  623.  
  624. (procedure    DoNewInstall
  625. (
  626.     (message
  627.  
  628.         "\nCNet Amiga has many different data files, and most related "
  629.         "files are grouped into directories, so that you can choose "
  630.         "different places for each set of data to go (for instance, "
  631.         "you might put your menus, help files, and other small data "
  632.         "sets on one small HD partition, while you might want your "
  633.         "message bases on a larger HD partition.)\n\n"
  634.         "I will now ask you to choose a place for each data set.  "
  635.         "Consult your CNet Amiga manual for information on what is "
  636.         "what, or use the HELP key for information."
  637.     )
  638.  
  639.     (set    DestDir
  640.  
  641.         (askdir
  642.  
  643.             (prompt    ask-install-part "master CNET" ask-install-part2
  644.             )
  645.             (help    "The master CNet directory is the home of the "
  646.                 "main executable, as well as it's control files "
  647.                 "like Config, your modem setups, BBSTEXT, etc.\n\n"
  648.                 "It's suggested that you choose a medium-sized "
  649.                 "partition and use this as a 'base' for all your "
  650.                 "other directories, like GFiles, Mail, News, etc."
  651.             )
  652.             (default "Work:")
  653.         )
  654.     )
  655.     (makedir    (tackon DestDir "CNet"))
  656.     (makeassign "CNet" (tackon DestDir "CNet"))
  657.  
  658.     (message
  659.  
  660.         "\nAn assign called CNET: has been made to the master "
  661.         "directory just created.  Many of the following "
  662.         "installation questions might refer to this assignment."
  663.     )
  664.  
  665.     (set    DestDir
  666.  
  667.         (askdir
  668.  
  669.             (prompt    ask-install-part "GFILES" ask-install-part2
  670.             )
  671.             (help    "The GFiles directory holds any extra text-files "
  672.                 "(or [G]eneral Files) you want to install for your "
  673.                                 "users.\n\n"
  674.             )
  675.             (default "CNet:")
  676.         )
  677.     )
  678.     (makedir (tackon DestDir "GFiles"))
  679.     (makeassign "GFiles" (tackon DestDir "GFiles"))
  680.     (makedir "GFiles:Data")
  681.  
  682.     (set    DestDir
  683.  
  684.         (askdir
  685.  
  686.             (prompt    ask-install-part "PFILES" ask-install-part2
  687.             )
  688.             (help    "The PFiles directory holds a series of executables "
  689.                 "C-Net requires, as well as serving as a place to "
  690.                                 "store any extra PFiles you wish to install for your "
  691.                                 "users, like games.\n\n"
  692.             )
  693.             (default "CNet:")
  694.         )
  695.     )
  696.     (set DestDir (tackon DestDir "PFiles"))
  697.         (makedir DestDir)
  698.     (makeassign "PFiles" DestDir)
  699.     (makedir "PFiles:Data")
  700.     (makedir (tackon DestDir "BBS"))
  701.  
  702.     (set    DestDir
  703.  
  704.         (askdir
  705.  
  706.             (prompt    ask-install-part "MAIL" ask-install-part2
  707.             )
  708.             (help    "The Mail directory holds a series of directories "
  709.                 "(one for each user) in which unique user data is "
  710.                 "stored; user signature files, question files, their "
  711.                 "e-mail, etc."
  712.             )
  713.             (default "CNet:")
  714.         )
  715.     )
  716.     (set DestDir (tackon DestDir "Mail"))
  717.         (makedir DestDir)
  718.     (makeassign "Mail" DestDir)
  719.     (makedir (tackon DestDir "Users"))
  720.  
  721.     (set    DestDir
  722.  
  723.         (askdir
  724.  
  725.             (prompt    ask-install-part "NEWS" ask-install-part2
  726.             )
  727.             (help    "The News directory holds newsfiles; text files "
  728.                 "you can create which are shown to users when they "
  729.                 "login.  Called 'bulletins' on some systems."
  730.             )
  731.             (default "CNet:")
  732.         )
  733.     )
  734.     (makedir (tackon DestDir "News"))
  735.     (makeassign "News" (tackon DestDir "News"))
  736.     (makedir "News:Data")
  737.  
  738.     (set    DestDir
  739.  
  740.         (askdir
  741.  
  742.             (prompt    ask-install-part "BASE0" ask-install-part2
  743.             )
  744.             (help    "The Base0 directory holds the datafiles to your "
  745.                 "message bases.  Messages are stored here, as well as "
  746.                 "entry files, etc."
  747.             )
  748.             (default "CNet:")
  749.         )
  750.     )
  751.     (makedir (tackon DestDir "Base0"))
  752.     (makeassign "Base0" (tackon DestDir "Base0"))
  753.     (makedir "Base0:main")
  754.     (makedir "Base0:main/data")
  755.  
  756.     (set    DestDir
  757.  
  758.         (askdir
  759.  
  760.             (prompt    ask-install-part "UDBASE0" ask-install-part2
  761.             )
  762.             (help    "The UDBase0 directory holds the datafiles to your "
  763.                 "file (upload/download) bases.  Note that individual "
  764.                 "subboards can be split across multiple partitions, "
  765.                 "and files WON'T necessarily get uploaded here.  See "
  766.                 "your CNet manual for information."
  767.             )
  768.             (default "CNet:")
  769.         )
  770.     )
  771.     (makedir (tackon DestDir "UDBase0"))
  772.     (makeassign "UDBase0" (tackon DestDir "UDBase0"))
  773.     (makedir "UDBase0:main")
  774.     (makedir "UDBase0:main/data")
  775.  
  776.     (set    DestDir
  777.  
  778.         (askdir
  779.  
  780.             (prompt    ask-install-part "SYSDATA" ask-install-part2
  781.             )
  782.             (help    "The SysData directory holds critical BBS data like "
  783.                 "the master user-file and it's associated index files, "
  784.                 "as well as your BBSList files, log files, and "
  785.                 "voting booth information."
  786.             )
  787.             (default "CNet:")
  788.         )
  789.     )
  790.     (set DestDir (tackon DestDir "SysData"))
  791.         (makedir DestDir)
  792.     (makeassign "SysData" DestDir)
  793.     (makedir (tackon DestDir "Log"))
  794.     (makedir (tackon DestDir "Vote"))
  795.     (makedir (tackon DestDir "BBSList"))
  796.  
  797.     (set    DestDir
  798.  
  799.         (askdir
  800.  
  801.             (prompt    ask-install-part "SYSTEXT" ask-install-part2
  802.             )
  803.             (help    "The SysText directory holds all text-files used "
  804.                 "throughout the BBS like menus, help files, and new "
  805.                 "user files, as well as your VDE (Visual Data Editor) "
  806.                 "files required by the BBS for editing certain data."
  807.             )
  808.             (default "CNet:")
  809.         )
  810.     )
  811.     (set DestDir (tackon DestDir "SysText"))
  812.         (makedir DestDir)
  813.     (makeassign "SysText" DestDir)
  814.     (makedir (tackon DestDir "VDE" ))
  815.     (makedir (tackon DestDir "Menu"))
  816.     (makedir (tackon DestDir "Help"))
  817.     (makedir (tackon DestDir "New" ))
  818.  
  819.     (askdisk
  820.  
  821.         (dest (substr Disk1 0 (- (strlen Disk1) 1)))
  822.  
  823.         (prompt "\nPlease insert Disk 1 of CNet Amiga."
  824.         )
  825.         (help    "Insert the CNet Amiga disk labeled as disk 1.  "
  826.             "You can put it in any drive--and, if you have two "
  827.             "floppy drives, you can also put disk 2 in your other "
  828.             "free drive to save yourself time later."
  829.         )
  830.     )
  831.  
  832.     (CopyExecutables1)
  833.     (CopyMenus)
  834.     (CopyHelp)
  835.     (CopyVDEs)
  836.     (CopyNew)
  837.     (CopyMaints)
  838.     (CopyStandards)
  839.  
  840.     (askdisk
  841.  
  842.         (dest (substr Disk2 0 (- (strlen Disk1) 1)))
  843.  
  844.         (prompt "\nPlease insert Disk 2 of CNet Amiga."
  845.         )
  846.         (help    "Insert the CNet Amiga disk labeled as disk 2."
  847.         )
  848.     )
  849.  
  850.     (CopyExecutables2)
  851.  
  852.     (if    (askbool
  853.  
  854.             (prompt    "\nWould you like to install the built-in spell "
  855.                 "checker?"
  856.             )
  857.             (help    "CNet's VisualEd editor has a built-in spell "
  858.                 "checker.  However, in order for the spell checker "
  859.                 "to be activated, the master dictionary must be "
  860.                 "installed.\n\nIn addition, a couple of utilities "
  861.                 "will be installed which allow you to compress and "
  862.                 "decompress the master dictionary so that you may "
  863.                 "add/remove words from it."
  864.             )
  865.         )
  866.  
  867.         ; TRUE statement
  868.         (
  869.             (CopySpeller)
  870.  
  871.             (set SplLine1 ( "copy        \"%s\" RAM:" (tackon DestPath "dict"      ) ))
  872.             (set SplLine2 ( "copy        \"%s\" RAM:" (tackon DestPath "dict.index") ))
  873.  
  874.             (if
  875.                 (askbool
  876.                 
  877.                     (prompt "\nWould you like to run the speller "
  878.                         "out of RAM?"
  879.                     )
  880.                     (help    "Keeping the CNet dictionary in RAM "
  881.                         "will help speed up spell checks.  "
  882.                         "If you choose to install the dictionary "
  883.                         "in RAM, a statement will be added to your "
  884.                         "S:User-Startup file to automatically copy "
  885.                         "it into RAM on startup.\n\n"
  886.                         "Also remember that you should then set the "
  887.                         "speller path through CONFIG to be RAM:, not "
  888.                         ("\"%s\" (where you installed the speller.)" DestPath )
  889.                     )
  890.                 )
  891.                 
  892.                 ; TRUE statement
  893.                 (
  894.                     (message
  895.  
  896.                         "\nRemember to set your speller path to RAM: "
  897.                         "when you configure your BBS with CONFIG."
  898.                     )
  899.                 )
  900.                 
  901.                 ; FALSE statement
  902.                 (
  903.                     (set SplLine1 (cat "; " SplLine1))
  904.                     (set SplLine2 (cat "; " SplLine2))
  905.                 )
  906.             )
  907.         )
  908.     )
  909.  
  910.     (CopyFIDOs)
  911.  
  912.     (if    (askbool
  913.  
  914.             (prompt    "\nWould you like to install UUCP network "
  915.                 "utilities?"
  916.             )
  917.             (help    "CNet includes support for the Usenet network.  If "
  918.                 "you plan on being a part of this network, several "
  919.                 "utilities need to be installed which handle the "
  920.                 "import of network messages and mail."
  921.             )
  922.         )
  923.  
  924.         ; TRUE statement
  925.         (
  926.             (CopyUUCPs)
  927.         )
  928.     )
  929.  
  930.     (if    (askbool
  931.     
  932.             (prompt "\nDo you want to run CNet resident?")
  933.             (help    "CNet is a 'pure' program, meaning it can be "
  934.                 "made resident.  Programs which are resident "
  935.                 "have the distinct advantage of being re-entrant; "
  936.                 "meaning if you have 3 copies of it running, there "
  937.                 "is really only 1 copy taking up memory, with three "
  938.                 "different sets of variables.\n\n"
  939.                 "This saves a LOT of memory when running CNet in a "
  940.                 "multi-user enviornment, because you are saving about "
  941.                 "260k of RAM for *EVERY* extra port you have loaded.\n\n"
  942.                 "Even if you are only running 1 line, it's a good idea "
  943.                 "to make it resident, since you will probably have a 'port 0' "
  944.                 "or other local port up sometimes.\n\n"
  945.                 "Note that it does NOT waste memory to have CNet "
  946.                 "made resident even if you are only running 1 port."
  947.             )
  948.         )
  949.         
  950.         ; TRUE statement
  951.         (
  952.             (set ResFlag "")
  953.         )
  954.         
  955.         ; FALSE statement
  956.         (
  957.             (set ResFlag "; ")
  958.             
  959.             (message "\nThe BBS will NOT be made resident.  However, "
  960.                  "in your S:User-Startup file, the lines responsible "
  961.                  "for making the BBS resident will appear, but prefixed "
  962.                  "with semicolons (;), which comments them out.\n\n"
  963.                  "Should you wish to run the BBS resident in the future, "
  964.                  "all that needs to be done is removal of those semicolons."
  965.             )
  966.         )
  967.         
  968.     )
  969.  
  970.     (if    (askbool
  971.     
  972.             (prompt "\nDo you want to run CNet automatically when your system "
  973.                 "is started?"
  974.             )
  975.             (help    "If you wish CNet to automatically be started when your "
  976.                 "system is booted, answer YES.  It is a good idea to have "
  977.                 "CNet run automatically, especially in case of a power "
  978.                 "outage and when you aren't around to manually startup "
  979.                 "the BBS."
  980.             )
  981.         )
  982.         
  983.         ; TRUE statement
  984.         (
  985.             (set RunFlag "")
  986.         )
  987.         
  988.         ; FALSE statement
  989.         (
  990.             (set RunFlag "; ")
  991.             
  992.             (message "\nThe BBS will NOT be automatically run on startup. However, "
  993.                  "in your S:User-Startup file, the line responsible "
  994.                  "for starting the BBS will appear, but prefixed "
  995.                  "with a semicolon (;), which comments it out.\n\n"
  996.                  "Should you wish to run the BBS automatically on startup in the future, "
  997.                  "all that needs to be done is the removal of that semicolon."
  998.             )
  999.         )
  1000.         
  1001.     )
  1002.  
  1003.     (startup "CNet Amiga Pro 3"
  1004.  
  1005.         (prompt "\nSeveral assignments need to be made to your S:User-Startup "
  1006.             "file which allow CNet to find all the files and directories "
  1007.             "we've just installed.\n\n"
  1008.             "In addition, other actions required by CNet will be "
  1009.             "added."
  1010.         )
  1011.         (help    "CNet requires several assignments so that it can find "
  1012.             "all it's files.  Many assign statements will be made "
  1013.             "to your S:User-Startup file, and will also launch "
  1014.             "several of the handlers CNet requires, set the stack "
  1015.             "requirement automatically, etc."
  1016.         )
  1017.  
  1018.         (command
  1019.  
  1020.         ("\n"                        )
  1021.         ("assign CNet:     \"%s\"\n" (getassign "CNet"        ))
  1022.         ("assign SysText:  \"%s\"\n" (getassign "SysText"    ))
  1023.         ("assign SysData:  \"%s\"\n" (getassign "SysData"    ))
  1024.         ("assign News:     \"%s\"\n" (getassign "News"        ))
  1025.         ("assign GFiles:   \"%s\"\n" (getassign "GFiles"    ))
  1026.         ("assign PFiles:   \"%s\"\n" (getassign "PFiles"    ))
  1027.         ("assign Mail:     \"%s\"\n" (getassign "Mail"        ))
  1028.         ("assign Base0:    \"%s\"\n" (getassign "Base0"        ))
  1029.         ("assign UDBase0:  \"%s\"\n" (getassign "UDBase0"    ))
  1030.  
  1031.         ("\n; You may add other ASSIGNs here as necessary, for example")
  1032.         ("\n; for Base1: and UDBase1: etc.  Consult your manual!\n")
  1033.         
  1034.         ("\n; Sets up/launches CNet Amiga\n\n"         )
  1035.         ("run        <>NIL: L:FIFO-Handler\n"     )
  1036.         ("mount        <>NIL: PIPE:\n"             )
  1037.         ("rexxmast     >NIL:\n\n"             )
  1038.         ("stack        40000\n\n"             )
  1039.         ("%s\n"                    SplLine1 )
  1040.         ("%s\n\n"                SplLine2 )
  1041.         ("%sresident PURE CNet:bbs CNet:bbs ADD\n" ResFlag )
  1042.         ("%sresident PURE Pfiles:bbs/vote Pfiles:bbs/vote ADD\n" ResFlag )
  1043.         ("%sresident PURE Pfiles:bbs/join Pfiles:bbs/join ADD\n" ResFlag )
  1044.         ("\n%srun        <>NIL: CNet:Control\n"   RunFlag )
  1045.         )
  1046.     )
  1047.  
  1048. ;    (textfile
  1049. ;
  1050. ;        (dest    "S:CNet-Startup")
  1051. ;        (append
  1052. ;
  1053. ;        )
  1054. ;    )
  1055.  
  1056.     (if
  1057.         (askbool
  1058.  
  1059.             (prompt "\nInstallation complete!\n\n  You should now further configure "
  1060.                 "your system using C-Net's CONFIG program.\n\n"
  1061.                 "Do you wish to run CONFIG now?"
  1062.             )
  1063.             (help    "CONFIG is a mouse-driven program that allows you "
  1064.                 "to configure many imporant things about your system, "
  1065.                 "such as new user defaults, message limits, paths to "
  1066.                 "system data, and much much more.  There are many things "
  1067.                 "that require your attention before the BBS is ready "
  1068.                 "to go on-line.  See your CNet manual for more info."
  1069.             )
  1070.         )
  1071.  
  1072.         ; TRUE statement
  1073.         (
  1074.             (run "run CNet:Config" )
  1075.         )
  1076.     )
  1077. )
  1078. )
  1079.  
  1080.  
  1081. ;
  1082. ; BEGIN MAIN INSTALLATION SEQUENCE TREE
  1083. ;
  1084. ; The welcome statement determines whether or not to do an update
  1085. ; installation or a new-user installation, and then calls a master-procedure
  1086. ; defined above which handles that type of installation appropriately.
  1087. ;
  1088.  
  1089. (welcome
  1090.  
  1091.     (set @default-dest "CNet:")
  1092.  
  1093.     (if    
  1094.         (exists "CNet:bbs" (noreq))
  1095.  
  1096.         ; TRUE statement
  1097.         (
  1098.             (set NewInstall 0)
  1099.  
  1100.             (user 2)
  1101.             (message
  1102.                 "\nThe system has detected that you already have "
  1103.                 "CNet Amiga installed.\n\nThe installer will perform "
  1104.                 "an update installation, only "
  1105.                 "copying over the necessary executables, and will "
  1106.                 "only copy files which you might have customized "
  1107.                 "(menus, help files, etc) if you ask it to."
  1108.             )
  1109.         )
  1110.  
  1111.         ; FALSE statement
  1112.         (
  1113.             (set NewInstall 1)
  1114.  
  1115.             (message
  1116.                 "\nThe system has detected that you are installing "
  1117.                 "CNet for the first time.\n\nHave your manual handy, "
  1118.                 "and remember the HELP key works in most places."
  1119.             )
  1120.         )
  1121.     )
  1122. )
  1123.  
  1124. (if    NewInstall
  1125.  
  1126.     ; TRUE statement
  1127.     (
  1128.         (DoNewInstall)
  1129.     )
  1130.  
  1131.     ; FALSE statement
  1132.     (
  1133.         (DoUpdateInstall)
  1134.     )
  1135. )
  1136.